package UnOfficeDeTourisme;

/**
 * Interface definition : SGSites
 * 
 * @author OpenORB Compiler
 */
public interface SGSitesOperations
{
    /**
     * Operation ajouterVisite
     */
    public int ajouterVisite(int idSite, UnOfficeDeTourisme.Visite v);

    /**
     * Operation ajouterSite
     */
    public int ajouterSite(UnOfficeDeTourisme.Site s);

    /**
     * Operation ajouterTypeEntree
     */
    public int ajouterTypeEntree(int idVisite, float prix, String nomTE);

    /**
     * Operation getVisites
     */
    public UnOfficeDeTourisme.Visite[] getVisites(int[] listeIdSites)
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation getAllVisites
     */
    public UnOfficeDeTourisme.Visite[] getAllVisites()
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation calculerStatistiques
     */
    public UnOfficeDeTourisme.statistiques calculerStatistiques(UnOfficeDeTourisme.Site[] sites);

    /**
     * Operation getPosProches
     */
    public UnOfficeDeTourisme.Visite[] getPosProches(UnOfficeDeTourisme.GPS geo)
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation majSite
     */
    public void majSite(int idSite, UnOfficeDeTourisme.datecut ouverture, UnOfficeDeTourisme.datecut fermeture);

    /**
     * Operation getTypeEntrees
     */
    public UnOfficeDeTourisme.TypeEntree[] getTypeEntrees(int[] listeVisites)
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation listeDesSites
     */
    public UnOfficeDeTourisme.Site[] listeDesSites()
        throws UnOfficeDeTourisme.ListeVideException;

    /**
     * Operation consulterVisite
     */
    public UnOfficeDeTourisme.Visite consulterVisite(int idVisite);

}
